/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package pooproj.repositorio;

import java.util.ArrayList;
import pooproj.basica.Filme;
import pooproj.erro.ConexaoException;
import pooproj.erro.ConsultaException;

/**
 *
 * @author Daniella
 */
public interface RepositorioFilme {
    
    /**
     * Cadastra um filme no BD
     * @param f O Filme para inserir
     * @throws ConsultaException
     * @throws ConexaoException 
     */
    public void inserir(Filme f) throws ConsultaException,ConexaoException;
    
    /**
     * Altera um Filme do BD
     * @param f O Filme a ser alterado
     * @throws ConsultaException
     * @throws ConexaoException 
     */
    public void alterar(Filme f) throws ConsultaException,ConexaoException;
    
    /**
     * Exclue um Filme do BD
     * @param f O Filme a ser excluido
     * @throws ConsultaException
     * @throws ConexaoException 
     */
    public void excluir(Filme f) throws ConsultaException,ConexaoException;
    
    /**
     * Retorna a lista de Filmes no BD
     * @return lista do tipo ArrayList 
     * @throws ConsultaException
     * @throws ConexaoException 
     */
    public ArrayList<Filme> listar() throws ConsultaException,ConexaoException;
    
    /**
     * Retorna o Filme com o ID passado, ou nulo
     * @param id
     * @return o Filme
     * @throws ConsultaException
     * @throws ConexaoException 
     */
    public Filme consultar(Integer id) throws ConsultaException,ConexaoException;
    
    /**
     * Retorna o Filme com o NOME passado, ou nulo
     * @param nome
     * @return o Filme
     * @throws ConsultaException
     * @throws ConexaoException 
     */
    public Filme consultar(String nome) throws ConsultaException,ConexaoException;

    
}
